package com.huiyi.appointment.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.huiyi.common.annotation.Excel;
import com.huiyi.common.core.domain.BaseEntity;

/**
 * 预约对象 appointment
 * 
 * @author zfz
 * @date 2024-11-12
 */
public class Appointment extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 预约编号 */
    @Excel(name = "预约编号")
    private Long appointmentId;

    private Long dept_id;

    /** 医生ID（外键，关联doctor表doctor_id） */
    private Long doctor_id;

    /** 用户ID（外键，关联sys_user表user_id） */
    private Long userId;

    /** 患者姓名 */
    @Excel(name = "患者姓名")
    private String patientName;

    /** 患者性别（0男 1女 2未知） */
    @Excel(name = "患者性别", readConverterExp = "0=男,1=女,2=未知")
    private String patientGender;

    /** 患者年龄 */
    @Excel(name = "患者年龄")
    private Long patientAge;

    /** 症状描述 */
    @Excel(name = "症状描述")
    private String symptoms;

    /** 预约时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "预约时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date appointmentTime;

    /** 预约状态（如 已完成、已取消、进行中） */
    @Excel(name = "预约状态", readConverterExp = "如=,已=完成、已取消、进行中")
    private String appointment_status;

    public String getAppointment_status() {
        return appointment_status;
    }
    public void setAppointment_status(String appointment_status) {
        this.appointment_status = appointment_status;
    }

    public Long getAppointmentId()
    {
        return appointmentId;
    }
    public void setAppointmentId(Long appointmentId)
    {
        this.appointmentId = appointmentId;
    }

    public Long getDoctor_id() {
        return doctor_id;
    }
    public void setDoctor_id(Long doctor_id) {
        this.doctor_id = doctor_id;
    }

    public Long getUserId()
    {
        return userId;
    }
    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public String getPatientName()
    {
        return patientName;
    }
    public void setPatientName(String patientName)
    {
        this.patientName = patientName;
    }

    public String getPatientGender()
    {
        return patientGender;
    }
    public void setPatientGender(String patientGender)
    {
        this.patientGender = patientGender;
    }

    public Long getPatientAge()
    {
        return patientAge;
    }
    public void setPatientAge(Long patientAge)
    {
        this.patientAge = patientAge;
    }

    public String getSymptoms()
    {
        return symptoms;
    }
    public void setSymptoms(String symptoms)
    {
        this.symptoms = symptoms;
    }

    public Date getAppointmentTime()
    {
        return appointmentTime;
    }
    public void setAppointmentTime(Date appointmentTime)
    {
        this.appointmentTime = appointmentTime;
    }

    public Long getDept_id(){return dept_id;}
    public void setDept_id(){this.dept_id = dept_id;}

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("appointmentId", getAppointmentId())
            .append("doctorId", getDoctor_id())
            .append("userId", getUserId())
            .append("patientName", getPatientName())
            .append("patientGender", getPatientGender())
            .append("patientAge", getPatientAge())
            .append("symptoms", getSymptoms())
            .append("appointmentTime", getAppointmentTime())
            .append("appointment_status", getAppointment_status())
            .toString();
    }
}
